Data is typically maintained for storage and retrieval in computer file systems, wherein a file comprises a named collection of data. A file management system provides a means for accessing the data files, for managing such files and the storage space in which they are kept, and for ensuring data integrity so that files are kept intact and separate. Applications (software programs) access the data files through a file system interface. However, management of computer data using file management systems can be difficult since such systems do not typically provide sufficient information on the characteristics of the files (information called metadata).
In general, a file management system or file system is used to store data on computer systems. In general, file systems store data in a hierarchical name space. Files are accessed, located, and referenced by their unique name in this hierarchical name space.
As part of its file/data management function, a file system performs many automatic backup and copying operations to ensure data integrity and recoverability. Backing up data has become an integral part of safe computing, and is not merely reserved for mission critical applications.
Current computer users rely heavily on sophisticated backup and recovery solutions to ensure data access and integrity. For desktop systems, backup can be implemented on numerous data storage systems including diskettes, hard drives, magnetic tapes, optical drives, CDRs (writable compact disks), CDRWs (re-writable compact disks), or high capacity removable magnetic media. For networked computers, backup can span the network to larger drives on a file server, tape, or optical backup systems.
Two backup systems are commonly used: incremental backup, and full backup. Incremental backup is implemented by taking snapshots of the file system, that is a sequence of complete images of the file system, at predetermined intervals, and assessing the changes from one to the other. When two consecutive snapshots are deemed to be non-identical, the backup software is prompted to backup the modified or created files. Thus, only the files that have changed since the last backup are backed up. On the other hand, a full backup entails creating an image of the entire file system regardless of changes that were made to the file system.
There is still an unsatisfied need for a file management system that provides accurate disaster recovery from file-level incremental backups in the presence of deletions.